package com.property.demo.service;

import com.property.demo.model.Activity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Optional;

public interface ActivityService {

    List<Activity> findAll();
    
    Page<Activity> findAll(Pageable pageable);
    
    Page<Activity> findByFilters(Long communityId, String title, String status, Pageable pageable);
    
    Optional<Activity> findById(Long id);
    
    Activity save(Activity activity);
    
    Activity update(Long id, Activity activityDetails);
    
    void delete(Long id);
    
    void deleteAll(List<Long> ids);
    
    List<Activity> findByCommunityId(Long communityId);
    
    List<Activity> findByTitleContaining(String title);
    
    List<Activity> findByStatus(String status);
} 